import Vue from "vue";
import Vuex from "vuex";
// import VuexPersistence from "vuex-persist";
import createVuexAlong from "vuex-along";

Vue.use(Vuex);

// const vuexLocal = new VuexPersistence({
//   // 使用localStorage
//   storage: window.localStorage,
//   // 如果不用这个函指定，那么默认所有vuex数数都作持久化处理
//   reducer(val: any) {
//     return {
//       head: val.head // 这里只对 head 模块作数据持久化
//     };
//   }
// });

/**
 * 动态注册模块
 */
// const store = new Vuex.Store({ });

/**
 * 持久化
 */
// const store = new Vuex.Store<Store>({
const store = new Vuex.Store({
  plugins: [
    createVuexAlong({
      // 设置保存的集合名字，避免同站点下的多项目数据冲突
      name: "yczs",
      local: {
        // 只保存 head 到 localStorage
        list: ["head"],
        isFilter: false
      }
    })
  ]
});
// const store = new Vuex.Store({
//   plugins: [vuexLocal.plugin]
// });

export default store;
